.. _Краткое описание Clause API: ############################################ Краткое описание Clause API ############################################ ******************************************************************** Назначение ******************************************************************** Clause API - json описание поискового запроса к схеме, поддерживаемой приложением. Структура запроса унифицирована для всех типов адаптеров. Структура запроса может быть вложенной. .. note:: Отдельные адаптеры могут поддерживать расширенный синтаксис. За описанием синтаксисов адаптеров необходимо обратиться к разработчику приложения в рамках технической поддержки. ******************************************************************** Общее описание ******************************************************************** *operator* | Содержит информацию по способу объединения элементов запроса. | Поддерживаются 2 оператора: **AND** и **OR** | Первый элемент списка всегда применяет оператор **AND** *field* Описывает поле схемы, используемое для формирования выборки *operand* | Описывает операцию сравнения. | Перечень доступных операций приведен ниже. *value* | Описывает значение для сравнения в выборке. | Может отсутствовать для унарных операций (типа **null**) | Может быть массивом для операций сравнения **между**, **из списка** *clauses* Описывает вложенные запросы. Каждый запрос может быть массивом Clause или отдельным Clause. ******************************************************************** Поддерживаемые операнды ******************************************************************** *eq = Equal* Операция проверки равенства *ne <> Not equal.* Операция проверки неравенства *gt > Greater than* Операция сравнения **больше** *lt < Less than* Операция сравнения **меньше** *ge >= Greater than or equal* Операция сравнения **больше или равно** *le <= Less than or equal* Операция сравнения **меньше или равно** *between* Операция сравнения **между** *start* Операция сравнения **начинается с** *contains* Операция сравнения **содержит** *in* Операция сравнения **из списка** *null* Операция сравнения **IS NULL** *notnull* Операция сравнения **IS NOT NULL** ******************************************************************** Пример ******************************************************************** : :: { "clauses": [ { "clauses": [ { "field": "status", "operand": "eq", "value": "2" } ] }, { "clauses": [ { "field": "priority", "operand": "eq", "value": "2" }, { "field": "status", "operand": "ne", "value": "1", "operator": "and" } ], "operator": "or" } ] } ..